Skip to main content

Tab: Software metrics for license determination

A metric in this environment is the "value" (number) of units relevant to the license calculation. Depending on the product, this can be, for example, the size of the user code (in bytes) or the number of axes, I/O channels, or fieldbus instances.

The tab of the device editor displays a tree structure containing the metrics which are available for the application. In this way, you can view the current measured values and check whether or not more code is downloaded to a controller than the license allows. The license is issued for each controller and is therefore located on the controller. The license check is also performed there.

The metrics are transferred to the controller during the download. They are refreshed when you click Build → Generate Code for the active application.

Read current metrics from device

Gets and transfers the metrics from the controller and displays them in the Value on Device column.

Generate code to calculate metrics

The code must be generated to calculate the metrics.

Show licenses

Opens the Licenses dialog

The dialog shows the license required for the project. The Open all in Store and close dialog command opens the suggested product in CODESYS Store International.

If you want to display the product in CODESYS Store North America, then you need to select the North America store in the CODESYS options.

Metric

Metric types per application

Value in Project

Number of tags used in the development system. The value is measured during code generation (Build → Generate Code command).

For details about the calculation, see the Calculation of the values section.

Note: If you delete the compile information of the application, then the values will be reset to 0.

Max. allowed by License

Allowed maximum values for each application according to the license on the controller

Value on Device

Actual measured value, read from the controller

Note: To determine these values, the communication has to be working.

Calculation of the values

Metric

Determined Value

Size of User Code

Value (in bytes)

Only user-programmed code (implementation) is evaluated. Code which has not been compiled with the IEC compiler is not evaluated.

The number and size of variables in the declaration is not relevant.

IEC libraries developed by the user are evaluated for the code size. Standard libraries, system libraries, and communication stacks of the CODESYS GmbH are not evaluated.

Task Group Assignment

For the configuration of IEC task groups in the task configuration, a "Task Group Assignment" license is required in many cases if the IEC tasks are executed on different CPU cores.

No:

No license is required for the following configurations:

  • A configured task group with the property

    • Fixed pinned

    • Fixed core

    • Sequentially pinned (only one IEC task)

  • Multiple configured task groups which all run on the same CPU core

Yes:

A license is required for the following configurations:

  • A configured task group with the property

    • Free floating

    • Sequentially pinned (multiple IEC tasks)

  • Multiple configured task groups with the property

    • Free floating

    • Sequentially pinned

  • Multiple configured task groups which all run on different CPU core

Fieldbus, I/O channels

Number of mapped channels with basic data type (BOOL, INT, REAL, ...). When mapping complex data types (STRUCT, ARRAY), the number of subelements with basic data type is counted.

Important

If you have selected the Always update variables option, then all channels will be taken into account in the calculation, regardless of whether or not they are assigned to a specific IEC variable.

Instances of CANopen, Modbus, PROFIBUS

Used fieldbus stack instances of this type

In the case of Modbus, instances of the mode clients for RTU and TCP are counted.

A Master/Controller or a Slave/Device is counted as one instance in the device configuration. The devices which are linked to these Masters/Slaves in the device tree are not counted. These are counted via the I/O channels. Fieldbus gateways are also counted as an instance (exception: CANopen Gateway).

Instances of EtherCAT, EtherNet/IP, PROFINET, SAE J1939

Number of visualization tags

See Visualization – Licensing

SoftMotion

See SoftMotion – Licensing

Communication

See Communication – Licensing

Information about the license packages for the application-based licenses can be found in the CODESYS Store.